// 4、编写10个线程，第一个线程从1加到10，第二个线程从11加到20
// ，......，第十个线程从91加到100，最后再把十个线程结果相加。


class MyThread5 extends Thread{
    public int i;
    public int j;
    public int sum;

    MyThread5(int i,int j){
        super();
        this.i = i;
        this.j = j;
    }

    public void run(){
         for(int k = i;k <= j;k++){
             sum += k;
         }
    }

    public int getSum(){
        return sum;
    }
}
public class Demo4 {
    public static void main(String[] args) throws InterruptedException {
        int k = 10;
        int ret = 0;
        for(int i = 0;i < 10;i++){
            Thread myThread = new MyThread5(1 + i * 10,k);
            k += 10;
            myThread.start();
            // 不加join是0的原因,主线程在子线程完成前就读取了结果
            // 并且两句代码是在极短时间内就完成的,所以子线程还没有执行,就去读结果,自然结果是0
            myThread.join();
            ret += ((MyThread5) myThread).getSum();
        }

        System.out.println(ret);
    }
}
